The present invention is directed to a method and apparatus for selecting a communication protocol between nodes in a network. More specifically, the present invention is directed to method and apparatus for dynamically negotiating a protocol between two nodes where at least one of the nodes is capable of operating in at least two different protocols.
It is known in a telecommunication network to provide a plurality of nodes that have varying degrees of intelligence. The nodes are useful in controlling the operation of the network. More specifically, in an environment such as a network for wireless communications, it is often necessary to transfer information about a subscriber and the subscriber""s services between various intelligent nodes in the network. In addition, since in a wireless communication scheme a subscriber can roam outside of the subscriber""s home network and into another region serviced by other providers, it is also necessary to be able to transfer information between nodes in the subscriber network and the other provider""s network.
FIG. 1 illustrates an example of a wireless communication network showing how various intelligent nodes need to communicate with one another to transfer information so as to provide service to a subscriber that has a mobile station.
In the example of FIG. 1, a subscriber has a mobile station 10. The subscriber has a xe2x80x9chomexe2x80x9d service provider, in this example, ATandT Wireless Services (AWS).
The subscriber""s home region is Seattle. Therefore, a Home Location Register (HLR) 11 in Seattle stores subscriber information with respect to mobile station 10, for example, the services to which the subscriber has access, billing information, etc. The HLR 11 is coupled to a signaling transfer point (STP) 13. A mobile switching center (MSC) 12 handles over-the-air communications with the subscriber when she is in her home region.
The subscriber may take the mobile station out of the home region of Seattle and seek service in a number of alternative locations which may or may not be served by her service provider.
For instance, the subscriber could travel to New York and seek service in the New York region. It may so happen that the subscriber""s provider also provides service in the New York region. In that circumstance, the mobile station would communicate with an MSC 22 in New York. When the mobile station is turned on in New York, the MSC 22 then sends a query back through the network 20 to the home region, and more specifically to the HLR 11 associated with the mobile station 10.
The intelligent nodes, e.g., 20 and 22 typically transfer information in accordance with a pre-selected protocol. One example of such a protocol is known as IS-41. However, while IS-41 may define generally the type of protocol between the MSCs 22 and HLR 11, it is possible that the system provider has begun to install upgrades of the IS-41 protocol (for example, revision A, revision B, or revision C) throughout that provider""s network. Since it is not feasible to install upgrades in each facility simultaneously, there may exist periods in time where various nodes within the system provider""s network are capable of operating at different levels of the protocol. For instance, the MSC in New York, 22, could be IS-41 Rev. A, whereas the MSC in Seattle, 12, could have been upgraded to IS-41 Rev. C. An example of the problem that may arise is illustrated in FIG. 2.
FIG. 2 shows that for two different protocol versions the same message type is identified by a different message code, for example, in protocol version A, the message type xe2x80x9cRegistration Notificationsxe2x80x9d (RegNot) might be identified by message code 1 while in protocol C, it might be identified by message code 75. Thus, if nothing is done to facilitate the communications between MSC 22 and MSC 12, it is possible that as they communicate message codes between the two nodes the information that is transferred from node 12 to node 22 would not be properly understood.
Protocol differences can also arise, and thereby create problems, when the subscriber activates the mobile station in a region that is serviced by a service provider other than the provider with whom the mobile station subscribes. As shown more specifically in FIG. 1, the mobile station 10 is located in a region so that is serviced by another system operator. When the mobile station is activated an MSC 32 in that region receives the activation request from the mobile station and then creates a query through an interconnect communications network North American Cellular Network (NACN), 40. This query back to the HLR 11 is the same as that which occurred in the first example described above where the mobile station has moved out of its home region but is still being serviced by the same service provider. However, in this scenario it is more likely that the MSC 32 and HLR 11 will be operating with different protocols. In such a circumstance, there is again the possibility of information being lost or mishandled due to the differences in the protocols.
In a different environment, the user to network interface environment, it is known that one terminal (user) can operate at one protocol while another terminal (user) operates at a second different protocol. This environment differs from the network to node environment described above in that no node to node protocol adjustment takes place; the initial network node adapts to the fixed protocol of the end user terminal, but the actual network protocol, i.e., node to node, remains unchanged.
CCITT Volume VI FASCICLE V1.11 (published in 1988) describes that in this user to network interface environment every message will include a protocol discriminator or identifier. This will serve to identify the protocol with which the message is associated. However, there is no mechanism for negotiating a protocol for communications. In fact, if the receiver cannot communicate in the identified protocol the message is simply discarded. The receiver and transmitter do not attempt to find a mutually acceptable communication protocol and again there is the likelihood that communication will be quite limited.
It is therefore desirable to provide a method by which these intelligent nodes operating at different protocols can communicate with one another while reducing the likelihood of losing data or creating some mishandling of information.
The present invention provides a method for dynamically negotiating a protocol between nodes.
In accordance with an embodiment of the present invention, one establishes a selection of a communication protocol between first and second network nodes by; in a first step, receiving at the second network node, an indication of the operating communication protocol of the first network node; then, based on the indication, a selection is made as to a designated protocol from a plurality of communication protocols at which the second network node is capable of operating. Subsequently, an indication of the designated protocol is sent to the first network node. As a consequence, the two network nodes operate at the same protocol thereby avoiding losses of information and mishandling of information.
In a further embodiment of the present invention, after a protocol has been established between the two network nodes, it is possible that within a selected protocol a plurality of codesets are available. The present invention provides for dynamic selection of a codeset within a selected protocol. In accordance with the selection, it is possible that one of the network nodes can signal to the other network node that it is switching codesets within the protocol and can designate whether it is switching codesets indefinitely or only for the next parameter.
With regard to protocol selection, typically the common protocol level to be used is easily determined by nodes belonging to the same service provider. Typically, this is the lowest (earliest) protocol level. For nodes which belong to different service provider networks, the service providers must agree on how to define a common protocol, for instance it is possible that as between two different providers, if there are differences between protocols, a default or third protocol is selected as the appropriate one for communication between these two nodes.